﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Tibet.Entidades;
using System.Data.SqlClient;
using Tibet.Datos;

namespace Tibet.Datos
{
    public class AccesoPerfilDeReglas
    {
        #region Constructor
        public AccesoPerfilDeReglas()
        {
        }
        #endregion 

        #region Conexion
        /// <summary>
        /// Llamar a la clase de conexion
        /// <returns>devuelve la conexion</returns>

        Conexion bd = new Conexion();

        #endregion

        public List<PerfilRegla> ConsultarPerfiles()
        {
           //Boolean respuestaQuery = false;
            List<PerfilRegla> listaPerfiles = new List<PerfilRegla>();
            SqlCommand command = new SqlCommand();

            try
            {
                bd.AbrirConexionBd();
                command.Connection = bd.ObjetoConexion();
                command.CommandType = System.Data.CommandType.StoredProcedure; //Tipo de comando que se va a ejecutar
                command.CommandText = "[dbo].[SELTodosPerfilReglas]"; // Nombre del Procedimiento Almacenado en la Base de Datos
                command.CommandTimeout = 10;

                SqlDataReader reader = command.ExecuteReader();

                while (reader.Read())
                {
                    PerfilRegla perfil = new PerfilRegla();
                    perfil.IdPerfilRegla = reader.GetInt32(0);
                    perfil.NombrePerfilRegla= reader.GetString(1);
                    listaPerfiles.Add(perfil);
                }
                return listaPerfiles;
            }

            catch (SqlException)
            {
                bd.CerrarConexionBd();
                return null;
            }

            catch (Exception)
            {
                bd.CerrarConexionBd();
                return null;
            }
        }


        public int AgregarPerfilRegla_Regla(String nombrePerfilRegla, int IdRegla)
        {
            SqlCommand command = new SqlCommand();
            try
            {
                bd.AbrirConexionBd();
                command.Connection = bd.ObjetoConexion();
                command.CommandType = System.Data.CommandType.StoredProcedure;//Tipo de comando que se va a ejecutar
                command.CommandText = "[dbo].[insertarPerfilReglaRegla]";//nombre del StoreProcedure
                command.CommandTimeout = 10;
                //insercion de regla
                command.Parameters.AddWithValue("@Nombre_Perfil_Regla", nombrePerfilRegla);
                command.Parameters.AddWithValue("@IdRegla", IdRegla);
                SqlDataReader reader = command.ExecuteReader();

                reader.Close();
                bd.CerrarConexionBd();
                return 1;

            }
            catch
            {
                return -1;
            }

        }

        public int AgregarPerfilRegla(String perfil)
        {
            SqlCommand command = new SqlCommand();
            try
            {
                bd.AbrirConexionBd();
                command.Connection = bd.ObjetoConexion();
                command.CommandType = System.Data.CommandType.StoredProcedure;//Tipo de comando que se va a ejecutar
                command.CommandText = "[dbo].[insertarPerfilRegla]";//nombre del StoreProcedure
                command.CommandTimeout = 10;
                command.Parameters.AddWithValue("@NombrePerfil", perfil);
                //command.Parameters.AddWithValue("@idUsuario", 1);//por los momentos le paso al usuario 1
                SqlDataReader reader = command.ExecuteReader();

                reader.Close();
                bd.CerrarConexionBd();
                return 1;

            }
            catch
            {
                return -1;
            }

        }

       

    }
}
